home *** CD-ROM | disk | FTP | other *** search
/ By Popular Request 2.0 / By Popular Request 2.0 (Arsenal Computer).ISO / amiga_6 / tiffdtyp.lha / sources / classbase.h < prev    next >
C/C++ Source or Header  |  1994-07-10  |  4KB  |  116 lines

  1. /*****************************************************************************/
  2.  
  3. #include <dos/dos.h>
  4. #include <dos/dosextens.h>
  5. #include <exec/types.h>
  6. #include <exec/ports.h>
  7. #include <exec/memory.h>
  8. #include <exec/lists.h>
  9. #include <exec/semaphores.h>
  10. #include <exec/execbase.h>
  11. #include <intuition/classes.h>
  12. #include <intuition/classusr.h>
  13. #include <intuition/cghooks.h>
  14. #include <intuition/gadgetclass.h>
  15. #include <graphics/gfx.h>
  16. #include <graphics/text.h>
  17. #include <libraries/iffparse.h>
  18. #include <datatypes/datatypes.h>
  19. #include <datatypes/datatypesclass.h>
  20. #include <datatypes/pictureclass.h>
  21. #include <string.h>
  22. #include <dos.h>
  23.  
  24. #include <clib/macros.h>
  25. #include <clib/dos_protos.h>
  26. #include <clib/exec_protos.h>
  27. #include <clib/intuition_protos.h>
  28. #include <clib/iffparse_protos.h>
  29. #include <clib/graphics_protos.h>
  30. #include <clib/utility_protos.h>
  31. #include <clib/datatypes_protos.h>
  32. #include <clib/dtclass_protos.h>
  33.  
  34. #include <pragmas/dos_pragmas.h>
  35. #include <pragmas/exec_pragmas.h>
  36. #include <pragmas/intuition_pragmas.h>
  37. #include <pragmas/iffparse_pragmas.h>
  38. #include <pragmas/graphics_pragmas.h>
  39. #include <pragmas/utility_pragmas.h>
  40. #include <pragmas/datatypes_pragmas.h>
  41. #include <pragmas/dtclass_pragmas.h>
  42.  
  43. /*****************************************************************************/
  44.  
  45. #define TIFFDTCLASS              "TIFF.datatype"
  46.  
  47. /*****************************************************************************/
  48.  
  49. struct ClassBase
  50. {
  51.     struct Library         cb_Lib;
  52.     UWORD             cb_UsageCnt;
  53.     struct Library        *cb_SysBase;
  54.     struct Library        *cb_DOSBase;
  55.     struct Library        *cb_IntuitionBase;
  56.     struct Library        *cb_GfxBase;
  57.     struct Library        *cb_UtilityBase;
  58.     struct Library        *cb_IFFParseBase;
  59.     struct Library        *cb_DataTypesBase;
  60.     struct Library        *cb_SuperClassBase;
  61.     BPTR             cb_SegList;
  62.  
  63.     struct SignalSemaphore     cb_Lock;        /* Access lock */
  64.     Class            *cb_Class;
  65. };
  66.  
  67. /*****************************************************************************/
  68.  
  69. #define    MAXCOLORS        256
  70. #define    SQ(x)            ((x)*(x))
  71. #define    AVGC(i1,i2,c)        ((ir->ir_GRegs[i1][c]>>1)+(ir->ir_GRegs[i2][c]>>1))
  72. #define VANILLA_COPY        0xC0
  73. #define NO_MASK            0xFF
  74. #define    MAXSRCPLANES        24
  75. #define    BPR(w)            ((w) + 15 >> 4 << 1)
  76. #define MaxPackedSize(rowSize)  ((rowSize) + (((rowSize)+127) >> 7 ))
  77. #define    RowBytes(w)        ((((w) + 15) >> 4) << 1)
  78. #define    ChunkMoreBytes(cn)    (cn->cn_Size - cn->cn_Scan)
  79. #define UGetByte()        (*source++)
  80. #define UPutByte(c)        (*dest++ = (c))
  81.  
  82. /*****************************************************************************/
  83.  
  84. #define MEMORY_FOLLOWING(ptr)    ((void *)((ptr)+1))
  85. #define MEMORY_N_FOLLOWING(ptr,n)  ((void *)( ((ULONG)ptr) + n ))
  86. #define ASM            __asm
  87. #define REG(x)            register __ ## x
  88.  
  89. /*****************************************************************************/
  90.  
  91. #define SysBase            cb->cb_SysBase
  92. #define DOSBase            cb->cb_DOSBase
  93. #define UtilityBase        cb->cb_UtilityBase
  94. #define    IntuitionBase        cb->cb_IntuitionBase
  95. #define    IFFParseBase        cb->cb_IFFParseBase
  96. #define    GfxBase            cb->cb_GfxBase
  97. #define    DataTypesBase        cb->cb_DataTypesBase
  98.  
  99. /*****************************************************************************/
  100.  
  101. ULONG __stdargs DoMethodA (Object *obj, Msg message);
  102. ULONG __stdargs DoMethod (Object *obj, unsigned long MethodID, ...);
  103. ULONG __stdargs DoSuperMethodA (struct IClass *cl, Object *obj, Msg message);
  104. ULONG __stdargs DoSuperMethod (struct IClass *cl, Object *obj, unsigned long MethodID, ...);
  105. ULONG __stdargs CoerceMethodA (struct IClass *cl, Object *obj, Msg message);
  106. ULONG __stdargs CoerceMethod (struct IClass *cl, Object *obj, unsigned long MethodID, ...);
  107. ULONG __stdargs SetSuperAttrs (struct IClass *cl, Object *obj, unsigned long Tag1, ...);
  108.  
  109. void kprintf (void *, ...);
  110.  
  111. VOID ASM ExpandByteRun (REG (a0) BYTE *srcData, REG (a1) BYTE *dstData, REG (d0) WORD srcBytes);
  112.  
  113. /*****************************************************************************/
  114.  
  115. #include "class_iprotos.h"
  116.